/* @author cerimice */
package Persistencia.Definicion;

import Sistema.Configuracion;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;

@Entity
@Table(name="seguimientoApartado")
@NamedQueries
    ({
    @NamedQuery(name="seguimientoApartado.lista",                  query="SELECT c FROM SeguimientoApartado c WHERE c.clave LIKE (:valor) ORDER BY c.clave")
    })

public class SeguimientoApartado implements Serializable
    {
    @Id
    @Basic(optional=false)
    @Column(name="clave",nullable=false)
    private String clave;
    
    @Basic(optional=false)
    @Column(name="apartado",nullable=false)
    private String apartado;
    
    @Basic(optional=false)
    @Column(name="fecha",nullable=false)
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date fecha;
    
    @Basic(optional=false)
    @Column(name="monto",nullable=false)
    private float monto;
    
    @Basic(optional=false)
    @Column(name="comentario",nullable=false,columnDefinition="text")
    private String comentario;
    
    @ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="apartado",referencedColumnName="clave",insertable=false,updatable=false)
    private Apartado objApartado;
    
    public SeguimientoApartado()
        {clave = Configuracion.getFormatoClave().format(new Date());}
    
    public void setClave(String clave)              {this.clave = clave;}
    public void setApartdo(String apartado)         {this.apartado = apartado;}
    public void setFecha(Date fecha)                {this.fecha = fecha;}
    public void setMonto(float monto)               {this.monto = monto;}
    public void setComentario(String comentario)    {this.comentario = comentario;}
    
    public String   getClave()          {return clave;}
    public String   getApartado()       {return apartado;}
    public Date     getFecha()          {return fecha;}
    public float    getMonto()          {return monto;}
    public String   getComentario()     {return comentario;}
    
    public Apartado getObjApartado()    {return objApartado;}
    //public Collection<SeguimientoApartado>  getSeguimiento()    {return seguimiento;}
    
    @Override
    public String toString()                {return this.clave;}
    }